#ifndef _UART_CTRL_H_
#define _UART_CTRL_H_

#include "Sys_Def.h"

#ifdef __cplusplus
extern "C" {
#endif

void UART_Config(void);

void UART_EnableTxIRQ(uint32_t USARTx);
void UART_DisableTxIRQ(uint32_t USARTx);
void UART_EnableDMATX(uint32_t USARTx);
void UART_DisableDMATX(uint32_t USARTx);
int  UART_DMATXDone(uint32_t USARTx);
void UART_TXDMAConfig(uint32_t USARTx, uint8_t* pTXDataBuf, int size);

void UART_EnableRxIRQ(uint32_t USARTx);
void UART_DisableRxIRQ(uint32_t USARTx);
void UART_EnableDMARX(uint32_t USARTx);
void UART_DisableDMARX(uint32_t USARTx);
int  UART_DMARXDone(uint32_t USARTx);
void UART_RXDMAConfig(uint32_t USARTx, uint8_t* pRXDataBuf, int size);

void UART_Send(uint32_t USARTx, uint8_t* TXBuf, int TXLen);
void UART_ConfigForUpgrade(uint32_t USARTx);

#ifdef __cplusplus
}
#endif

#endif
